package com.senyint.imsdk.http;

public interface HttpHeader {
	public static final String CONTENT_TYPE = "Content-Type";
	public static final String CONTENT_LENGTH = "Content-Length";
	public static final String CONTENT_RANGE = "Content-Range";
	
	public static final String MULTIPART_FORM_CONTENT_TYPE = "multipart/form-data";
	public static final String MULTIPART_BOUNDARY = "http.method.multipart.boundary";
	public static final String CONTENT_TYPE_BINARY = "application/octet-stream";
	
	public static final String CONTENT_TYPE_IMAGE = "image/*";
	public static final String CONTENT_TYPE_AMR = "audio/amr";
	public static final String CONTENT_TYPE_VOICE = "voice/*";
	public static final String CONTENT_TYPE_AUDIO = "audio/*";
	public static final String CONTENT_TYPE_JPEG = "image/jpg";
	
	/**
	 * 客户端请求参数，指定下载文件的起始和结束字节数
	 */
	public static final String REQUEST_RANGE = "Range";
	
	/**
	 * 服务器对客户端的请求<br>
	 * Accept-Ranges: bytes 表示支持以bytes为单位进行传输。<br>
	 * Accept-Ranges: none 表示不支持 
	 */
	public static final String ACCEPT_RANGES = "Accept-Ranges";
	
	/**
	 * ETag:简单的说，ETag可以用来标识/保证文件的唯一性或完整性，你可以把它看作是服务器为某个文件生产的唯一标识值，每次文件有更新该值就会变化。
	 * 通过这种机制客户端可以检查某个文件在断点续传（当然它不仅仅用于断点续传）的前后是否有所改动：
	 * 如果ETag改变了就应该重新下载整个文件以保证它的完整性
	 */
	public static final String ETAG = "ETag";
	
	/**
	 *   希望某类或者某已知MIME 类型的文件（比如：*.gif;*.txt;*.htm）能够在访问时弹出“文件下载”对话框。 <br>
	 *   希望客户端下载时以指定文件名显示。  <br>
	 *   希望某文件直接在浏览器上显示而不是弹出文件下载对话框 <br>
	 *   例如: response.setHeader("Content-disposition", "attachment;filename=" + fileName)。 
	 */
	public static final String CONTENT_DISPOSITION = "Content-Disposition";
	
	/**
	 * 是否附件<br>
	 * attachment表示以附件方式下载。如果要在页面中打开，则改为inline。 
	 */
	public static final String HEADER_ATTACHMENT = "attachment";
	
	/**
	 * 附件名<br>
	 * 使用fileName = HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8)语句
	 */
	public static final String HEADER_FILE_NAME = "filename";
	
	/**
	 * 网页
	 */
	public static final String HTML_TYPE = "text/html";
	
	/**
	 * 附件可以是下载APK文件也可以是其他类型文件<br>
	 * application/octet-stream
	 * application/vnd.android.package-archive
	 */
	public static final String TYPE_ATTACHMENT = "application";
	
	/**
	 * 请求：no-cache（不要缓存的实体，要求现在从WEB服务器去取）
                                     max-age：（只接受 Age 值小于 max-age 值，并且没有过期的对象）
                                     max-stale：（可以接受过去的对象，但是过期时间必须小于
                                                        max-stale 值）
                                     min-fresh：（接受其新鲜生命期大于其当前 Age 跟 min-fresh 值之和的
                                                        缓存对象）
                            响应：public(可以用 Cached 内容回应任何用户)
                                      private（只能用缓存内容回应先前请求该内容的那个用户）
                                      no-cache（可以缓存，但是只有在跟WEB服务器验证了其有效后，才能返回给客户端）
                                      max-age：（本响应包含的对象的过期时间）
                                      ALL:  no-store（不允许缓存）
	 */
	public static final String CACHE_CONTROL = "Cache-Control";
	 
	 
	/**
	 * android应用
	 */
	public static final String TYPE_APK = "application/vnd.android.package-archive";
	
	public static final String ENCODING_UTF8 = "UTF-8";
	
	public static final String METHOD_POST = "POST";
	public static final String METHOD_GET = "GET";
	
	public static final int SC_OK = 200;
	
}
